Voyants : « Forçages en cours », « Défauts en cours » et « inhibitions en cours ».

- Voyants sur l’état du Process

- Voyant si un forçage est en cours

- Voyant si un défaut est en cours

- Voyant si une inhibition est en cours
- Dans un premier temps, déclarons les variables pour déclencher les voyants
- Notre modèle est basé sur 1 API et 1 IHM
Les Voyants F, D, I sont visibles et clignotants quand un forçage, un défaut ou une inhibition est en cours.
Déclaration des variables Automates
Table de variables Standard
Dans le navigateur de l’automate, créez une nouvelle table de variable et nommez la « Table de variables standards ».
Automate /Variables API/Table de variables standard
Créer les variables suivantes en respectant tous les champs de la capture :
- « REARM_DEF » : Cette variable dans le programme automate permets de réarmer les défauts en cours.
- « Blocage_GEN » : Cette variable dans le programme automate s’active après un ou des défauts bloquants.

Ressources des variables des DB
Il faut créer un groupe pour y ranger les variables des DB.
(Clic droit sur Blocs de programmes/ ajouter un nouveau groupe).
Nommez le « RESSOURCES_DB »

Création des DB dans l’API
DB810_GESTION_IHM et DB 813_BITS_F_TOR
Dans le dossier « RESSOURCES_DB », créer :
- « DB 810_GESTION_IHM », les variables de ce DB serviront à la geston du Process vers l'IHM.
- « DB 813_BITS_F_TOR »,les variables sont écritent depuis la supervision via un popup-up qui sert à forcer des actionneurs en fonction d'un index.
Clic droit sur le dossier « RESSOURCES_DB » / Ajouter un nouveau Bloc.
Renseignez les champs du nouveau bloc comme sur la capture de droite.


Pour adresser ces variables afin de communiquer avec l’IHM,
(Clic droit sur le DB/Propriétés/Général/Attributs).
Dans les attributs de propriétés du DB, Décochez « Accès au bloc optimisés ».
Déclarez les variables avec leurs adresses dans le DB810_GESTION_IHM et DB 813_BITS_F_TOR.


Création du FC810_GESTION_IHM
Le FC810_GESTION_IHM contient les programmes qui effectuent la gestion des fonctions sur l’IHM qui nécessitent des échanges avec l’API :
-L’affichage de l’heure API -> IHM et la mise à l’heure IHM -> API.
-La gestion des Index (Inhibition TOR et ANA, Paramètre ANA).
-Les forçages des actionneurs IHM -> API.
-Les animations de forçages en cours (F), défauts en cours (D) et Inhibitions en cours (I).
-L’enregistrement de l’historique des Demandes d’actions.

Dans l’arborescence du projet, dans le dossier bloc de programme créer un nouveau groupe et renommez le « 02_MAIN ».
(Clique droit / Ajouter nouveau programme).
Reproduire l’opération pour ajouter le groupe « FC800_FC899_Animation » dans celui du « 02_MAIN »
Dans le Dossier Bloc de programme double cliquer sur Ajouter un bloc.
Choisir le bloc fonction et nommer le bloc « FC810_GESTION_IHM ».
Choisir le langage SCL, puis Numéroter en manuel le bloc « 810 ».
Glisser ce bloc dans le dossier « FC800_FC899_Animation ».

Dans l’API : FC810_GESTION_IHM

Les forçage en cours : DB813_BITS_F_TOR (Variable de sortie_000 à 200)
Ce programme scrute si les forçages via un pop-up de l’IHM d’un ou des actionneurs est en cours.
Reproduire ce code à l’identique.

(1)
L'instruction FOR traite une boucle de programme de manière répétée tant que la variable de contrôle "index_compte_force" se trouve à l'intérieur de la plage de valeurs indiquée "0 to 79".
(2)
L'instruction PEEKWORD lit dans les adresses "index_compte_force" (byteOffset) du "DB813_BITS_F_TOR" (dbNumber). La donnée "resultat_force" prend la valeur des adresses lues.
(3)
Si la donnée "resultat_force" est différente de 0, la variable "DB810_Gestion_IHM.FORCE_EN_COURS" est mise à 1. Le bouton F est visible et clignote dans le bandeau, un forçage est en cours.
(4)
Si la donnée "resultat_force" est égale à 0, la variable "DB810_Gestion_IHM.FORCE_EN_COURS" est mise à 0. Le bouton F est invisible, aucun forçage n'est en cours.
L’instruction PEEK : Lire une adresse mémoire
L'instruction "Lire une adresse mémoire" permet de lire une adresse de mémoire dans une zone de mémoire standard sans indiquer de type de données.
Paramètres :

Déclaration des variables dans l’IHM
Dans les Variables IHM de l’IHM,
créez 2 tables de variables en double cliquant sur « Insérer une nouvelle table de variables » et
renommez les « DB810_GESTION_IHM », et « VAR_Systeme ».

DB810_GESTION_IHM
Renseignez tous les champs à l’identique de la capture ci-dessous

Voyant « Forçages en cours »
Insérez un bouton, le redimensionner, ajoutez-lui un texte « F » et placez-le comme dans la capture.
Dans ses propriétés, ajoutez dans l’onglet animation un affichage : « Représentation ».
Le bouton clignote en couleur rouge quand le forçage d’un actionneur est un cours.
Renseignez dans le paramètre « Représentation » la variable « FORC_EN_COURS » du DB810 et réglez le Type à "Plage" de valeur, les couleurs puis le clignotement comme la capture ci-dessous.
Quand cette variable sera à la plage 1, le bouton clignotera, un ou des forçages sont en cours.

Dans les propriétés, ajoutez dans l’onglet animation un affichage : « Visibilité ».
Renseignez dans le paramètre « Visibilité » la variable « FORC_EN_COURS » du DB810 et réglez le Visibilité et la plage de valeur, comme sur la capture.
Quand la valeur de la variable renseignée sera à 0 le bouton sera invisible, aucun forçage n’est en cours.
Les Défauts en cours :

Les défauts en cours : DB50_Défaut (Variable de DEF_000 à 800)
Répétez l’opération pour le bouton de « Défauts en cours ».
Renseignez à l’identique du bouton Forçage les paramètres Animations : « Représentation » et « Visibilité » :
*« Défauts en cours » : Pour signaler qu’un défaut est en cours.
-« Représentation » :Variable Nom : « DEFAUT_EN_COURS » du DB810 ;
-« Visibilité » : Processus Variable : « DEFAUT_EN_COURS » du DB810 ;
Ne pas oublier d’ajouter un texte dans la première ligne de l’onglet Textes : "D" pour les défauts en cours.
Les Inhibitions de défauts en cours :

Les Inhibitions de défauts en cours : DB51_INHIB_DEF (Variable de DEF_000 à 800)
Répétez l’opération pour le bouton « Inhibitions en cours ».
Renseignez à l’identique du bouton Forçage les paramètres Animations : « Représentation » et « Visibilité » :
*« Inhibitions en cours » : Pour signaler qu’une inhibitions de défaut est en cours.
-« Représentation » : Variable Nom « INHIB_EN_COURS » du DB810 ;
-« Visibilité » : Processus Variable : « INHIB_EN_COURS » du DB810 ;
Ne pas oublier d’ajouter un texte dans la première ligne de l’onglet Textes : "I" pour les inhibitions en cours.

Finitions : Objet de base : Ligne
Ajoutez des lignes pour finaliser le bandeau
